Local Area Networks (LAN's) consist of a group of interconnected computers communicating according to a common protocol such as Ethernet (IEEE Standard 802.3). In a client-server type LAN, a server computer maintains files, which may be accessed by client computers. The server may also monitor and perform various maintenance functions on the client computer.
To save energy and reduce costs, client computers may enter a reduced-power (or sleep) state when they are not in active use. A sleep-state shuts-down most components of a client computer and maintains only minimal functionality. Various techniques have been implemented to allow a server computer to wake-up a sleeping client computer. Generally these techniques require the sleeping computer to monitor network activity.
For this purpose, some network interfaces provide a hardware state machine which is configured to monitor for specific bit patterns when the computer enters a sleep state. This allows the network interface to detect specific network events, however configuration is generally fixed. Accordingly, network interfaces having a hardware state machine may not be easily reconfigured to meet the needs of a specific application.
Other solutions may use a standard MAC accessing a direct memory access (DMA) first-in first-out (FIFO) memory for receiving network frame data. Frame data saved to the system memory may be parsed to detect specific bit patterns. These interfaces provide greater flexibility. Specifically, these interfaces may be programmed to monitor for different bit patterns depending upon the application. Unfortunately, these interfaces likewise impose greater cost and complexity.